package com.rjj.wlqq.tool.console;

/**
 * @author 任建军
 * log4j输出日期并且知道这个日期的调用者是哪一个，在哪一行调用的
 */
public class ConsoleUtil {

    /**
     * 输入那行调用了这个，那个类的哪个方法调用了这个日志的输出
     * @author renjianjun
     * @time 2018年9月27日上午10:29:16
     * @return String
     *
     * StackTraceElement[] lvStacks中的值是从第一个开始调用这个线程开始的，当前线程的第一个调用的方法——》getStackTrace()
     * 然后就是第二个就是自己的调用方法——》 getDebugInfo
     * 然后就是再次调用我这个方法的地方 ？？？
     *
     *
     * 需要方法中调用才可以。并不是所有地方都行
     *
     */
    public static String getDebugInfo() {

        StackTraceElement[] lvStacks = Thread.currentThread().getStackTrace();
       /* for (StackTraceElement stackTraceElement : lvStacks) {
            System.err.println("名字：" + stackTraceElement.getClassName() + "  " + stackTraceElement.getMethodName()+" " + stackTraceElement.getFileName());
        }*/
        return lvStacks[2].getClassName() + "#" + lvStacks[2].getMethodName()
                +"(" + lvStacks[2].getFileName() + ":" + lvStacks[2].getLineNumber() + ")";
    }



}
